package com.chushouya.manager.service.api;


import com.chushouya.manager.dto.admin.login.WebAppLoginUser;
import com.chushouya.manager.dto.admin.login.WebAppUserAuthDTO;

public interface WebAppTokenService {

    /**
     * 创建AppToken
     * @param loginUser 用户信息
     * @return 令牌
     */
    String createToken(WebAppLoginUser loginUser);

    /**
     * 获取App用户身份信息
     * @return 用户信息
     */
    WebAppLoginUser getLoginUser(String token);

    WebAppUserAuthDTO authToken(String token);

    /**
     * 清除用户登录信息(按token)
     */
    void delLoginToken(String token);

    /**
     * 清除用户登录信息(按用户)
     */
    void delLoginToken(Long userId);


    void verifyToken(WebAppLoginUser loginUser);

    void refreshToken(WebAppLoginUser loginUser);
}
